package cn.dengta.webapp.risk.bean;

import javax.annotation.Nullable;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * 风控请求参数
 *
 * @author XiaoRong
 * @since 2022-06-07
 */
@Setter
@Getter
@Accessors(chain = true)
public class RiskRequestParam {

	/** 事件标识 **/
	RiskEvent event;
	/** 唯一标识当前请求的标识符 */
	@Nullable
	String requestId;
	/** 唯一标识当前客户端的标识符 */
	@Nullable
	String deviceId;

	/** 风控类型 **/
	RiskType type;

	/** 发送者用户ID */
	String userId;
	/** 接收者用户ID */
	@Nullable
	String toUserId;

	String ip;

	/** 音视频风控的回调地址 **/
	private String callback;
	/** 音视频风控的审核ID **/
	private Long verifyId;

	/* 以下是数美【天网】所需附加参数 */
	/** 请求头 App-Id */
	String appId;
	/** 当前用户的手机号码 */
	String phone;
	/** 用户昵称 */
	String nickname;
	/** 用户邮箱（目前仅限注册传入） */
	String email;
	/** 用户名密码验证结果，1：成功，0：失败 */
	Integer valid;
	/** 注册或登录类型 */
	SkynetType skynetType;

	public RiskRequestParam() {
	}

	public RiskRequestParam(String userId, RiskType type, RiskEvent event) {
		this.type = type;
		this.userId = userId;
		this.event = event;
	}

	public RiskRequestParam(String userId, RiskEvent event, String appId, String phone, String nickname, String deviceId) {
		this.userId = userId;
		this.event = event;
		this.appId = appId;
		this.phone = phone;
		this.nickname = nickname;
		this.deviceId = deviceId;
	}

}
